package com.team.recruitment_management_system.pojo.dto.job;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
@Schema(description = "修改职位信息")
public class ChangeJobInfoDto {
    /**
     * jobId
     */
    @NotNull(message = "jobId不能为空")
    @Schema(description = "jobId")
    private Integer id;

    @NotNull(message = "hrID不能为空")
    @Schema(description = "hrID")
    private Integer hrId;

    /**
     * 职业名称
     */
    @NotEmpty(message = "职业名称不能为空")
    @Schema(description = "职业名称")
    private String name;

    /**
     * 描述
     */
    @NotEmpty(message = "职业名称不能为空")
    @Schema(description = "职业名称")
    private String description;

    /**
     * 工作地点
     */
    @NotEmpty(message = "工作地点不能为空")
    @Schema(description = "工作地点名称")
    private String location;

    /**
     * 学历 1高中及以下 2大专 3本科 4硕士 5博士
     */
    @NotNull(message = "学历不能为空")
    @Schema(description = "学历")
    private Integer eduction;

    /**
     * 经验 1到7 应届生  实习生  1年以内  1-3年  3-5年   5-10年  10年以上
     */
    @NotNull(message = "经验不能为空")
    @Schema(description = "经验")
    private Integer experience;

    /**
     * 求职类型 1全职 2兼职 3实习生
     */
    @NotNull(message = "求职类型不能为空")
    @Schema(description = "求职类型")
    private Integer type;

    /**
     * 职业标签外键
     */
    @NotNull(message = "职业标签外键不能为空")
    @Schema(description = "职业标签外键")
    private Integer tag;

    /**
     * 其他自定义标签
     */
    @Schema(description = "其他自定义标签")
    private String otherTag;

    /**
     * 最低薪资
     */
    @NotNull(message = "最低薪资不能为空")
    @Schema(description = "最低薪资")
    private Integer minSalary;

    /**
     * 最高薪资
     */
    @NotNull(message = "最高薪资不能为空")
    @Schema(description = "最高薪资")
    private Integer maxSalary;

    /**
     * 状态 1招聘中 2已招聘 3招聘取消
     */
    @NotNull(message = "状态不能为空")
    @Schema(description = "状态")
    private Integer status;
}